package com.guoguo.cloudmusic.logic.dao

import android.content.Context
import androidx.core.content.edit
import com.guoguo.cloudmusic.logic.model.UserInfo
import com.google.gson.Gson
import com.guoguo.cloudmusic.MyApplication

/**
 * @author GuoGuo
 * @date 2021/12/15
 */
object UserInfoDao {
    private fun sharePreferences() =
        MyApplication.context.getSharedPreferences("app_userInfo", Context.MODE_PRIVATE)

    /**
     * 判断用户是否登录
     */
    fun isLogin() = sharePreferences().contains("userInfo")

    /**
     * 存储用户信息
     * 获取编辑器 ，存储字段
     * @param userInfo
     */
    fun saveUserInfo(userInfo: UserInfo) {
        sharePreferences().edit {
            putString("userInfo", Gson().toJson(userInfo))
        }
    }

    /**
     * 获取用户信息
     * @return com.guoguo.cloudmusic.logic.model.UserInfo
     */
    fun getUserInfo(): UserInfo {
        val userJson = sharePreferences().getString("userInfo", "")
        return Gson().fromJson(userJson, UserInfo::class.java)
    }

    /**
     * 推出登录
     */
    fun logout() {
        sharePreferences().edit {
            clear()
        }
    }
}
